// 7-4 数字金字塔 (4.10) (15分)
// 输入一个正整数repeat (repeat<10)，做repeat次下列运算：

// 输入一个正整数n(n<10)，输出n行数字金字塔。
// 输出时使用以下语句：

// printf(" ");
// printf("%d ", i);
// printf("\n");
// 输入格式:
// 输入在第1行中给出1个正整数repeat(repeat<10)

// 接下来repeat行，每行给出一个正整数n(n<10)

// 输出格式:
// 按照对应顺序的n值，依次输出repeat个数字金字塔 （n行数字金字塔的格式如样例所示，注意：每个数字后面跟一个空格。）
#include <stdio.h>

void PrintPyramid(int n);
int main()
{
    int repeat, n;
    scanf("%d", &repeat);
    for (int i = 0; i < repeat; i++)
    {
        scanf("%d", &n);
        PrintPyramid(n);
    }
    return 0;
}

void PrintPyramid(int n)
{
    for (int col = 1; col <= n; col++)
    {
        for (int i = 0; i < 2 * (n - col); i++)
        {
            printf(" ");
        }
        for (int j = 0; j < 2 * col - 1; j++)
        {
            printf("%d ", col);
        }
        printf("\n");
    }
}
// 输入样例:
// 2
// 5
// 2

      
    
// 输出样例:
//         1 
//       2 2 2 
//     3 3 3 3 3 
//   4 4 4 4 4 4 4 
// 5 5 5 5 5 5 5 5 5 
//   1 
// 2 2 2 